#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
int un_g_val;
int g_val = 100;
int main(int argc,char *argv[],char *env[])
{
    printf("test: %p\n",main);
    printf("init: %p\n",&g_val);
    printf("uninit: %p\n",&un_g_val);

    char *p = (char*)malloc(16);
    char *p1 = (char*)malloc(16);
    char *p2 = (char*)malloc(16);
    char *p3 = (char*)malloc(16);
    printf("heap: %p\n",p);
    printf("heap: %p\n",p1);
    printf("heap: %p\n",p2);
    printf("heap: %p\n",p3);
    printf("stack: %p\n",&p);
    printf("stack: %p\n",&p1);
    printf("stack: %p\n",&p2);
    printf("stack: %p\n",&p3);
    //int a = 1;
    //int b  =1;
    //int c = 1;
    //printf("a: %p\n",&a);
    //printf("b: %p\n",&b);
    //printf("c: %p\n",&c);
//    int i = 0;
//    for(i;i<argc;i++)
//    {
//        printf("argv[%d]: %s\n",i,argv[i]);
//    }
//    printf("befin........................\n");
//    int i = 0;
//    for(i;env[i];i++)
//    {
//        printf("env[%d]:%s\n",i,env[i]);
//    }
//    printf("end..........................\n");
//    
//    while(1)
//    {
//        printf("hello cui\n");
//        sleep(1);
//    }
//    pid_t id = fork();
//    if(id<0)
//    {
//        //创建失败
//        perror("fork");
//        return 1;
//    }
//    else if(id == 0)
//    {
//        //child process(task)
//        while(1)
//        {
//            printf("i am child,pid:%d,ppid:%d\n",getpid(),getppid());
//            sleep(1);
//           // break;
//           //  exit(0);
//        }
//    }else{
//        //parent process 
//        while(1)
//        {
//            
//            printf("i am parent,pid:%d,ppid:%d\n",getpid(),getppid());
//            sleep(3);
//            break;
//            exit(0);
//        }
//    }
    //sleep(100);
    //while(1)
    //{
    //    printf("i am process !\n");
    //    sleep(1);
    //}
   // pid_t id = fork();
   // if(id<0)
   // {
   //     //创建失败
   //     perror("fork");
   //     return 1;
   // }
   // else if(id == 0)
   // {
   //     //child process(task)
   //     while(1)
   //     {
   //         printf("i am child,pid:%d,ppid:%d\n",getpid(),getppid());
   //         sleep(3);
   //         break;
   //         exit(0);
   //     }
   // }else{
   //     //parent process 
   //     while(1)
   //     {
   //         
   //         printf("i am parent,pid:%d,ppid:%d\n",getpid(),getppid());
   //         sleep(1);
   //     }
   // }
//    fork();
//     printf("you can see me!\n");
// 
//     sleep(1);
//    while(1)
//    {   pid_t id = getpid();
//        pid_t iid = getppid();
//      printf("hello cui,%d %d\n",id,iid);
//        sleep(1);
//    }
    return 0;
}
